﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VentaElectrodomesticos.Contrato;
using System.Data.SqlClient;

namespace VentaElectrodomesticos.Datos
{
    public class ProductoDAO : BaseDAO<Producto>
    {
        protected override List<System.Data.SqlClient.SqlParameter> getCustomFilterParameters(Producto producto)
        {
            List<SqlParameter> parameters = new List<SqlParameter>();
            if (producto.__precioMax != null) {
                parameters.Add(new SqlParameter("__precioMax", producto.__precioMax));
            }
            if (producto.__precioMin != null)
            {
                parameters.Add(new SqlParameter("__precioMin", producto.__precioMin));
            }
            if (producto.Id != null)
            {
                parameters.Add(new SqlParameter("id", producto.Id));
            }
            return parameters;
        }

        public List<Producto> getProductosConStock(Producto producto, long sucursal_id)
        {
            SqlParameter parameter = new SqlParameter("sucursal_id", sucursal_id);
            List<SqlParameter> parameters = new List<SqlParameter>();
            parameters.Add(parameter);
            parameters.AddRange(getCustomFilterParameters(producto).ToArray());
            return base.getAll(producto, base.getDefaultStoreProcedureName(producto) + "ConStock",parameters);   
        }
    }
}
